1. Technical Field
The present subject matter relates to repairing signal integrity. More particularly, the subject matter relates to a system and method for correcting signal integrity crosstalk violations without inducing additional violations.
2. Background Information
An integrated circuit (“IC”) is a device that incorporates many electronic components (e.g., transistors, resistors, diodes, etc.). These components are often interconnected to form multiple circuit components (e.g., gates, cells, memory units, arithmetic units, controllers, decoders, etc.) on the IC. The electronic and circuit components of IC's are jointly referred to below as “components.” An IC also includes multiple layers of wiring (“wiring layers”) that interconnect its components. For instance, many IC's are currently fabricated with metal or polysilicon wiring layers (collectively referred to below as “metal layers”) that interconnect its components.
As the conductors between components become more narrow and closer together, and as the time between state transitions decreases (e.g. as the clock speed increases), interference mechanisms that have negligible effects in other applications become limiting. As metal width shrinks, metal resistance increases. To compensate, the metal height is increased so that the cross sectional area of the metal remains large enough to maintain a reasonable resistance value. In older process technologies, the routing capacitance was dominated by the plate capacitance of the route to the layers above and below the metal route. In deep submicron VLSI (with features as small as 0.13 μm and beyond), the plate capacitance now represents one quarter (25%) to one third (33%) of the total capacitance, while sidewall or line-to-line capacitance between routes on the same layer now comprise two thirds (66%) to three quarters (75%) of the routing capacitance.
Crosstalk is one such interference mechanism. Crosstalk is the term used to describe the signal integrity problem caused by coupling capacitance between adjacent wires that run very closely to one another. Energy that is coupled from neighboring signals can produce a significant change in the delay through a “victim” net. A “victim” net is a net on which noise is injected by one or more neighboring nets through cross-coupled capacitance. The nets that inject noise onto a victim net are considered the “aggressor” nets. Crosstalk can result in both logic and delay faults. Logic faults may occur when a victim net is intended to be at a stable value, and an aggressor net injects noise onto the victim net, causing it to glitch. Although the victim net will recover its stable value, the glitch may propagate to a state element, causing a functional failure. Delay faults occur when the victim net and the aggressor net transition simultaneously, or near simultaneously, causing the transition delay of the victim net to be altered (See FIG. 1). Such an altered transition delay may cause a setup or hold time violation. As signal integrity problems are reportedly the primary sources of chip failure in many deep submicron VLSI projects, it is desirable to cure crosstalk violations in a manner that does not create additional violations.
At this time, there is no systematic or algorithmic solution to resolving faults created by signal coupling. Current tools or methods may accurately identify where signal crosstalk exists and the magnitude of crosstalk induced delay, but do not accurately predict the changes that are needed to mitigate the timing change nor determine how to affect change only on routes with timing failures. A standard cell library typically provides a set of discrete implementations of each logic function. The different implementations of a particular logic function are designed to drive different capacitive loads while maintaining similar rise/fall times for multiples of a standard load, usually one, two, and four. By choosing from among the cell library cells that drive specific loads, cells driving victim nets may be replaced with a cell having identical function, but the ability to drive a larger load, to balance out the drive of the aggressor net and limit the effects of crosstalk. Current libraries, in general, do not have multiple cell drives that are the same physical size. The cells start at 1×, and the next drive is 2×, having twice the number of “fingers” as in the 1× cell, so the cell is quite a lot larger in physical size. For this reason, upsizing a victim cell to another driver often creates a perturbation in cell placement, requiring adjustments to the physical locations of neighboring cells to accommodate the increased physical size of the new victim driver. This prompts reconnection and re-routing of neighboring nets and thus, invariably introduces new crosstalk violations.
The increase in cell drive also increases the input capacitance of the cell. This can overload the cell driving the net connected to the input of the cell that is being upsized. To fix this, the cell driving the input net would need to be upsized or a buffer would need to be inserted in order to properly drive the additional cell input capacitance. The total set of changes required to adequately repair the crosstalk violation can be quite large, creating a high probability that the repairs will create new crosstalk violations.
It is thus desirable to build a standard cell library that promotes signal integrity by offering multiple cell drives having the same physical size, so that “upsizing” does not always result in the need for restructuring/re-routing that causes additional crosstalk violations.
Some current approaches to crosstalk repair are path based. Path based approaches trigger re-structuring and re-routing to eliminate the effects of crosstalk. Such re-structuring often results in the targeted crosstalk violation being repaired, but many additional violations can be created by the re-routing. Additionally, some current approaches to crosstalk repair involve inserting buffers. Inserting buffers may alleviate the problem, but the buffers create additional delay, which can result in timing that fails as well as can cause additional violations by perturbing the placement and routing required by the process of buffer insertion.
Thus there is a need for a system and method to repair crosstalk violations and ensure signal integrity in a manner that does not induce additional violations.